From 996eeec16cd3923a1f50c7aafbb68e81cd108c3c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jonas=20=C3=85dahl?= Date: Fri, 20 Nov 2020 17:11:44 +0100 Subject: [PATCH] gtk/window: Don't gdk_toplevel_present() if not mapped That would map the window too early. --- gtk/gtkwindow.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 996e09c64b..e1d83addbd 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -3856,7 +3856,8 @@ gtk_window_update_toplevel (GtkWindow *window) g_clear_pointer (&priv->layout, gdk_toplevel_layout_unref); priv->layout = gtk_window_compute_layout (window); - gdk_toplevel_present (GDK_TOPLEVEL (priv->surface), priv->layout); + if (_gtk_widget_get_mapped (GTK_WIDGET (window))) + gdk_toplevel_present (GDK_TOPLEVEL (priv->surface), priv->layout); } } @@ -5660,7 +5661,8 @@ gtk_window_move_resize (GtkWindow *window) if (configure_request_pos_changed) g_warning ("configure request position changed. This should not happen. Ignoring the position"); - gdk_toplevel_present (GDK_TOPLEVEL (priv->surface), priv->layout); + if (_gtk_widget_get_mapped (widget)) + gdk_toplevel_present (GDK_TOPLEVEL (priv->surface), priv->layout); } else { @@ -5869,8 +5871,6 @@ gtk_window_present_with_time (GtkWindow *window, g_assert (surface != NULL); - gtk_window_present_toplevel (window); - /* Translate a timestamp of GDK_CURRENT_TIME appropriately */ if (timestamp == GDK_CURRENT_TIME) { -- 2.30.2